As wireless networks become more ubiquitous, research continues to be conducted to improve resource utilization as well as power consumption. One area of interest is the recovery of transmitted data. Data transmitted over a wireless network can become degraded due to transmission issues including, but not limited to, channel attenuation, fading, noise and interference. The quality of the data received from a wireless network can suffer from one or more transmission issues and result in erroneous received bits. Many current wireless networks use physical layer error correcting techniques, such as error correcting codes, to increase reliability and data link layer error detection methods to discard received packets containing errors so that erroneous information is not propagated through the system. Thus, in many wireless networks, when a packet is received at the data link layer, the packet is checked for errors and either discarded or propagated to higher layers of the system. This “all-or-nothing” mode is often implemented using cyclic redundancy checks (CRC) and other error detection codes in order to determine the validity of received packets before forwarding the valid received packets to higher layers.
Unfortunately, discarding packets that do not satisfy the validity check and requesting a retransmission of the entire packet is inefficient in terms of resource utilization since packets found to contain errors usually still have a large amount of useful information. Furthermore, lower resource utilization and increased overall power consumption is often the result of not being able to exploit the information received during a first transmission of a data packet.